<?php
/**
 * @var \Dingo\Api\Routing\Router $api
 */
$api->group([
    'version' => 'v1',
    'namespace' => 'App\Http\Controllers\H5',
    'prefix' => 'api/h5',
    'middleware' => 'disable_activity_log'
], function ($api) {
    $api->post('auth', 'AuthController@store'); // 创建 token
    $api->post('wx_mini_auth', 'AuthController@storeByWechatMini'); // 创建 token by 微信小程序
    $api->get('wx_mini_acode', 'AuthController@getMiniAppCodeUnlimit'); // 微信小程序 app code
    $api->post('register', 'AgentController@register'); // 新用户邀请注册
    $api->post('qiyu_auth', 'QiyuController@auth'); // 七鱼用户认证
    $api->patch('/reset-password', 'AuthController@resetPassword'); // 修改密码
    $api->post('bank/account-notify', 'AgentController@xiamenBankRegisterNotify'); // 账号注册回调
    $api->get('logistics/{numbering}', 'OrderController@sdjLogisticsList'); // 物流地址
    // 访客
    $api->group(['prefix' => 'guest'], function () use ($api) {
        $api->group(['prefix' => 'commodities/activities'], function () use ($api) {
            $api->get('/', 'GuestController@commodityList'); // 列表
            $api->get('/{id}', 'GuestController@commodityInfo'); // 详情
        });
        $api->get('orders', 'GuestController@clientOrder'); // 查单
        $api->post('suppliers', 'GuestController@storeSupplier'); // 创建供应商
    });
    //$api->group(['middleware' => 'auth:h5'], function () use ($api) {
    $api->group(['middleware' => ['auth:h5', 'rate_limiter']], function () use ($api) {
        // 用户
        $api->delete('auth', 'AuthController@destory'); // 用户退出
        $api->group(['prefix' => 'user'], function () use ($api) {
            $api->get('/', 'AgentController@info'); // 用户详情
            $api->patch('/', 'AgentController@update'); // 编辑用户信息
            $api->patch('/wechat', 'AgentController@updateWechat'); // 用户微信
            $api->patch('/reset-password-by-old-pwd', 'AuthController@resetPasswordByOldPwd'); // 用户微信
            $api->patch('/reset-phone', 'AgentController@resetPhone'); // 修改手机号
            $api->get('/promoted', 'AgentController@promotedList'); // 用户晋升记录
            $api->get('/search', 'AgentController@infoBySearch'); // 搜索代理商
            $api->get('/performance-details', 'AgentController@performanceDetails'); // 统计
            // 钱包
            $api->group(['prefix' => 'wallet'], function () use ($api) {
                $api->post('/top-up', 'WalletController@topUp'); // 充值
                $api->get('/revenue', 'WalletController@revenueList'); // 收支明细列表
                $api->post('/transfer-balance', 'WalletController@transferBalance'); // 划拨
                $api->post('/withdraw', 'WalletController@withdraw'); // 提现
            });
        });
        // 商品
        $api->group(['prefix' => 'commodities/activities'], function () use ($api) {
            $api->get('/', 'CommodityController@list'); // 列表
            $api->get('/{id}', 'CommodityController@info'); // 详情
        });
        // 客户
        $api->group(['prefix' => 'clients'], function () use ($api) {
            $api->post('/', 'ClientController@store'); // 新增
            $api->get('/', 'ClientController@list'); // 列表
            $api->patch('/{id}', 'ClientController@update'); // 更新
            $api->delete('/{id}', 'ClientController@destory'); // 删除
            $api->get('/nlp/address', 'ClientController@baiduNlpAddress'); // 获取百度地址识别结果
        });
        // 站内信
        $api->group(['prefix' => 'website-letter'], function () use ($api) {
            $api->get('/', 'WebsiteLetterController@list'); // 列表
            $api->patch('/{id}', 'WebsiteLetterController@read'); // 已读
        });
        // 订单
        $api->group(['prefix' => 'orders'], function () use ($api) {
            $api->group(['prefix' => 'after-sale'], function () use ($api) {
                $api->get('/', 'OrderController@afterSaleList'); // 售后
                $api->get('/{id}', 'OrderController@afterSaleInfo'); // 售后详情
                $api->post('/', 'OrderController@storeSfterSale'); // 提交售后
                $api->delete('/{id}', 'OrderController@cancelSfterSale'); // 取消售后
            });
            $api->group(['prefix' => 'statistics'], function () use ($api) {
                $api->get('/', 'OrderController@statisticsList'); // 订单统计
                $api->get('/detail', 'OrderController@statisticsDetailList'); // 订单统计详情
            });
            $api->get('self-employed', 'OrderController@selfEmployedList'); // 自营
            $api->get('team', 'OrderController@teamList'); // 团队
            $api->get('/{id}', 'OrderController@info'); // 自营订单详情
            $api->post('/', 'OrderController@store'); // 下订单
            $api->delete('/{id}', 'OrderController@cancel'); // 取消自营订单
        });
        // 团队
        $api->group(['prefix' => 'team'], function () use ($api) {
            $api->get('/', 'TeamController@list'); // 列表
        });
        // 微信
//        $api->group(['prefix' => 'wx'], function () use ($api) {
//            $api->get('/', 'WechatController@getJsSdkConfig'); // 获取微信 js sdk config
//        });
        // 上传图片
        $api->post('attachment/picture', 'AttachmentController@store'); // 上传图片附件
        $api->group(['prefix' => 'bank'], function () use ($api) {
            $api->post('account', 'AgentController@xiamenBankRegister'); // 账号注册
        });
    });
});
